﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using VemTransporte.Models.Basica;
using NHibernate;

namespace VemTransporte.Models.Persistencia
{
    public class RepLinha: GenericNHibernateDAO<Linha, int>
    {
        public Linha ProcurarLinhaPorNumero(string numero)
        {
            Linha retorno = null;

            try
            {
                Session.Clear();

                IQuery query = Session.CreateQuery("from Linha where LIN_Numero=:numero").SetString("numero", numero);

                retorno = query.UniqueResult<Linha>();

            }
            catch (Exception e)
            {
                throw new Exception("Erro ao tentar procurar linha por numero! Contate o administrador do site. Detalhes do erro: " + e.Message);
            }

            return retorno;
        }

        public IList<Linha> ProcurarLinhaPorNome(string nome)
        {
            IList<Linha> retorno = null;

            try
            {
                Session.Clear();

                IQuery query = Session.CreateQuery("from Linha where LIN_Nome=:nome").SetString("nome", nome);

                retorno = query.List<Linha>();
            }
            catch (Exception e)
            {
                throw new Exception("Erro ao tentar procurar linha por nome! Contate o administrador do site. Detalhes do erro: " + e.Message);
            }

            return retorno;
        }

    }
}